
package com.wyzz.hr.bo;

import java.util.*;
import org.hibernate.criterion.DetachedCriteria;

import com.wyzz.hr.pojo.Employee;
import com.wyzz.hr.pojo.Leavetype;
import com.wyzz.hr.pojo.Overtimerequest;
import com.wyzz.hr.util.Pager;
import com.wyzz.hr.vo.ExaminSearchBean;
import com.wyzz.hr.vo.OvertimeFormBean;

public interface IOvertimerequestBo extends IEmpApproverBo {

	public abstract String orCheckTime(Overtimerequest overtimerequest);

	public abstract double getTotalTime(Overtimerequest overtimerequest,
			Date date, Date date1, Integer ainteger[]);

	public abstract double getTotalTimeRecal(Overtimerequest overtimerequest,
			Date date, Date date1, Integer ainteger[]);

	public abstract double getTotalOTTiaoxiuTime(
			Overtimerequest overtimerequest, Date date, Date date1, int ai[]);

	public abstract List getEmpAllTiaoxiuOrList(Employee employee, int ai[],
			Date date, Integer integer);

	public abstract Overtimerequest loadOvertimerequest(String s, String as[]);

	public abstract String checkMonthLimit(Overtimerequest overtimerequest);

	public abstract double getMonthTotal(Overtimerequest overtimerequest,
			Integer ainteger[]);

	public abstract Overtimerequest searchByOrId(String s);

	public abstract List deleteOvertimereuqest(String s, Employee employee);

	public abstract List loadOvertimeRequests(String as[], String as1[]);

	public abstract Overtimerequest loadOvertimerequest(String s);

	public abstract void examinSearch(ExaminSearchBean examinsearchbean,
			DetachedCriteria detachedcriteria, Pager pager);

	public abstract void approverMgrSearch(ExaminSearchBean examinsearchbean,
			Employee employee, Pager pager);

	public abstract void approverHRSearch(ExaminSearchBean examinsearchbean,
			Pager pager);

	public abstract void ExaminOwnSearch(ExaminSearchBean examinsearchbean,
			Pager pager, String s);

	public abstract void orAllSearch(ExaminSearchBean examinsearchbean,
			Pager pager);

	public abstract String[][] getOvertimeTotal(String s);

	public abstract String orInitTime(OvertimeFormBean overtimeformbean)
			throws Exception;

	public abstract String orCheckShifts(Overtimerequest overtimerequest)
			throws Exception;

	public abstract void deleteExtraOvertimerequest();

	public abstract double[] countHoursAndRemainHours(String s, Date date);

	public abstract Map provideOvertimeRequestData(Date date, Date date1,
			List list);

	public abstract List getEmpTiaoxiuOrList(Employee employee, int ai[]);

	public abstract String[][] getEmpTiaoxiu(Leavetype leavetype, Date date,
			List list);
}
